1. Field
The present disclosure relates, in general, to computers and other electronic devices with multi-touch sensitive display surfaces or screens, and, more particularly, to an improved method for determining whether a touch or contact with the multi-touch surface or screen is processed (e.g., treated or handled) as a touch event or as a mouse event.
2. Relevant Background
Multi-touch surface computing is growing rapidly and is spreading quickly from large table computers to handheld electronic devices such as phones and personal music players. Multi-touch refers to a set of interaction techniques that allow computer users to control graphical applications with two or more fingers or pointers. Generally, multi-touch systems include a touch screen or surface and software that recognizes and processes multiple touch points on the surface rather than just a single touch point as may have been the case with typical touchpads.
Multi-touch systems may use a wide variety of technologies to implement to touch screen or touch input device to determine where a touch occurs and to track a continued touch along a surface. For example, the touch surface may use heat, pressure, high capture rate cameras, infrared light, optic capture, tuned electromagnetic induction, laser rangefinders, shadow capture, and other techniques to provide touch or contact input information to the software or drivers (e.g., multi-touch drivers or the like) that determine points of contact and provide the user input to applications.
Multi-touch displays surfaces are used by computer and electronic device designers to creatively present interfaces to one or more users such as graphical objects that may be selected, sized, moved, scrolled, and otherwise manipulated through the use of fingers or other physical contact devices (e.g., a pen, a stylus, or the like). Typically a computer renders a graphical user interface (GUI) on the multi-touch display surface or screen, and users may manipulate GUI objects or displayed elements directly with their hands using multi-touch technology rather than traditional input devices such as a mouse or a keyboard. In other words, multi-touch devices and systems merge the user input and data output devices into a single surface, which provides an intuitive and efficient mechanism for users to interact with a computer and applications running on the computer (e.g., to manipulate drawings, photographs, data files, and the like).
A number of problems arise from the use of a multi-touch display surface. Often, the multi-touch technology is added onto an existing computing system and its applications may have been adapted for use with prior user input technologies. For example, a computer system or electronic device may have software applications in which all or portions of its GUI are configured to receive and process mouse events and mouse gestures such as to point at or select a displayed object in the GUI. In other cases, an application running on a multi-touch system or device may have one portion or area that receives and processes touch events (i.e., a non-mouse event application or multi-touch application portion) and other portions or areas, such as a menu or control interface, that is responsive to mouse events but not touch events.
By default, current multi-touch systems have software, such as a multi-touch driver, that treats a first touch or contact by the user on the multi-touch surface as a mouse event and second and later touches are treated as touch events until the first touch is release or removed from the surface (e.g., the mouse adapter becomes available). As a result, portions of the GUI and/or portions of applications may not be able to receive user input or to interface with the users. In an exemplary multi-touch system, a first touch within an interactive graphics portion of a GUI may be processed or handled as a mouse event and block a concurrent second touch from being able to interact or use a portion of the GUI corresponding to a non-multi-touch application, which requires a mouse event. This is particularly problematic when multi-touch display technology is implemented in a system with legacy or existing software or applications as these will often include applications that have one or more windows or portions in the GUI that not configured to handle touches or touch events.